<?php

/*$traduccion = new Zend_Translate('array', APPLICATION_PATH . '/idiomas/es.php', 'es');  
Zend_Form::setDefaultTranslator($traduccion); */

class Application_Form_Perfil extends Zend_Form
{

    protected function generaDecorador($id) {
         return array(
                    'Errors',
                    'ViewHelper',
                    'Description',
                    array('Label',array('class' => 'imitar_h2')),
                    array('HtmlTag', array('tag' => 'Fieldset', 'id' => $id, 'class' => 'elemento' ))
                ); 
    }
    
    public function init()
    {

       // $this->setEnctype(Zend_Form::ENCTYPE_MULTIPART);
        
        $this->addElement(
            'text', 'nombre', array(
                    'decorators' => $this->generaDecorador("fieldset_nombre"),
                    'label' => 'Nombre completo:',
                    'required' => true,
                    array('alpha')
                )
        );
        
        //para sabr que decoradores declarar mire el
        //archivo Zend/Form/Element/File.php línea 77
        $image = new Zend_Form_Element_File('imagen');
        $image->setLabel('Cargar una imagen:')
            ->setDecorators(array(
                    'File',
                    'Errors',
                    'Description',
                    array('Label',array('class' => 'imitar_h2')),
                    array('HtmlTag', array('tag' => 'Fieldset', 'id' => 'fieldset_imagen', 'class' => 'elemento btn btn-warning form_img_margen' ))
                ));
        $image->addValidator('Count', false, 1);                // ensure only 1 file
        $image->addValidator('IsImage',array('image/bmp', 'image/gif', 'image/jpeg', 'image/png'));

        $this->addElement($image);
        
        //demas datos
        $this->addElement(
            'text', 'pais', array(
                    'decorators' => $this->generaDecorador("fieldset_pais"),
                    'label' => 'País:',
                    array('alpha')
                )
        );
        $this->addElement(
            'text', 'depto', array(
                    'decorators' => $this->generaDecorador("fieldset_depto"),
                    'label' => 'Departamento/Estado:',
                    array('alpha')
                )
        );
        $this->addElement(
            'text', 'ciudad', array(
                    'decorators' => $this->generaDecorador("fieldset_ciudad"),
                    'label' => 'Ciudad:',
                    array('alpha')
                )
        );
        $this->addElement(
            'text', 'direccion', array(
                    'decorators' => $this->generaDecorador("fieldset_direccion"),
                    'label' => 'Dirección:',
                    array('alpha')
                )
        );
        $this->addElement(
            'text', 'telefono', array(
                    'decorators' => $this->generaDecorador("fieldset_telefono"),
                    'label' => 'Teléfono:',
                    array('alpha')
                )
        );
        $this->addElement(
            'text', 'email', array(
                    'decorators' => $this->generaDecorador("fieldset_email"),
                    'label' => 'Correo Electrónico:',
                    'filters'    => array('StringTrim'),
                    'validators' => array(
                        'EmailAddress',
                    )
                )
        );

        $this->addElement(
            'submit', 'Listo', array('class' => 'btn btn-large btn-warning')
        );
        
                
    }
    
    public function inicializar($usuario){
        $nombre = $this->getElement('nombre');
        $nombre->setValue($usuario->nombre_real);
        $imagen = $this->getElement('imagen');
        $imagen->setValue($usuario->foto);
        $pais = $this->getElement('pais');
        $pais->setValue($usuario->pais);
        $depto = $this->getElement('depto');
        $depto->setValue($usuario->departamento);
        $ciudad = $this->getElement('ciudad');
        $ciudad->setValue($usuario->ciudad);
        $direccion = $this->getElement('direccion');
        $direccion->setValue($usuario->direccion);
        $tel = $this->getElement('telefono');
        $tel->setValue($usuario->telefono);
        $email = $this->getElement('email');
        $email->setValue($usuario->correo_electronico);
        return $this;
    }

}

